Computer-generated electronic documents have become an integral part of day-to-day life for many people. The business world has grown increasingly dependent on these documents for exchanging information. One specific type of electronic document is generated by a diagramming computer software application. Diagramming applications, such as VISIO®, by the Microsoft Corporation of Redmond, Wash., can be used to generate graphical images for block diagrams, brainstorming, business processes, charts and graphs, marketing diagrams, flowcharts, maps, organizational charts, project schedules, timelines, engineering, networking, and software and web design.
Timelines can be used to illustrate the temporal relationship between events. Timelines can be used to present this relationship for a variety of applications, such as presenting the relationship between historical events or presenting the relationship between activities associated with a business project. Timelines may be configured to illustrate different relationships using unique shapes to indicate milestones, start and end dates, and intervals of time that are a subset of the overall timeline interval. Often, a desired feature for a timeline is to have the timeline be proportional. That is, a unit of length of the timeline corresponds to a specific length of time. For example, with a time line that is nine inches in length and covering eighteen months, one inch of length of the timeline would correspond to two months of time. These timelines may be static or dynamic. In a dynamic timeline, shapes located at one point on a timeline may be moved to a different location on the timeline and the properties associated with that shape, such as its date, are automatically updated. For example, a milestone with an associated date of Aug. 22, 2003 could be dragged, using a pointing device and a Graphical User Interface (GUI), from one position on a timeline to a new position on the timeline representing the date Sep. 11, 2003. The display and configuration of the timeline may then be updated to indicate that the moved milestone is now associated with the date of Sep. 11, 2003.
One limitation in the current state of the art in presenting proportional, computer generated timelines is that the timeline can typically hold only a limited amount of information before the image is cluttered to the point that it no longer effectively communicates the desired information. For example, a timeline may illustrate a six-month long project along a six inch length. In this example, for a proportional timeline, one inch of length corresponds to one month of the project. However, a one-month time period may include a large number of milestones that a user may want to illustrate. A one-inch segment would not effectively present this large amount of information. To overcome this limitation, a user may generate a new, expanded timeline, on the same presentation page or a different page, that covers the one-month period. In this case, with a six-inch timeline, each inch may correspond to five days. The user can add the upper-level milestones that are presented on the main timeline to the expanded timeline and then add additional milestones to the expanded timeline.
Although this additional timeline can now be used to effectively present a large number of milestones, this approach has limitations. To make this expanded timeline, the user must duplicate the effort used to make the main timeline and ensure that the upper-level milestones presented on the main timeline for the expanded time period are accurately captured on the expanded timeline.
Also, changes made to the main timeline, also referred to herein as the parent timeline, are not automatically reflected on the expanded timeline, also referred to herein as the child timeline. As such, when a user changes a milestone on the parent timeline that falls within the time period of the child timeline, the user must then make the same change to that milestone on the child timeline, doubling the work required to make the change and increasing the chance for error.
What is needed is a computer-implemented method and system for automatically generating a child timeline from a selected portion of a parent timeline, where that child timeline will be dynamically-link to the parent timeline such that when the parent timeline is updated, the child timeline is automatically updated.